Синхронизация и интеграция динамического справочника ошибок в мобильном приложении
Запрос справочника при холодном старте, безопасный парсинг JSON-контракта и подмена алертов в UI.
NoteКраткая карточка задачи
- Репозиторий / Компонент:
mobile-app(Клиентское приложение iOS / Android). - Категория: Фронтенд.
- Взаимодействие: Вызов внешнего
HTTP GET /api/v1/auth/error-directory. - Статус: Готово к реализации
WarningОграничение публичной документации
В открытом доступе представлена демонстрационная версия задачи. В настоящей публичной документации отображены не все шаги, технические сценарии и приватные эндпоинты для системы цифровых симуляторов бизнес-процессов.
- Полная спецификация метода: Доступна только во внутреннем контуре разработки (Confluence / Swagger Enterprise).
- Для получения доступа: Обратитесь к системному аналитику или Product Owner вашей команды.
- Инструкция по шагам:
- На Шаге 1 (Логика Холодного старта): Встроить триггер вызова метода
GET /api/v1/auth/error-directoryв общую цепочку инициализации приложения (при холодном старте или успешном обновлении сессии). Обязательно передавать в заголовках текущую системную версию сборки (X-App-Version) и локаль устройства (app_lang) в качестве Query-параметра. - На Шаге 9 (Безопасный парсинг и обработка сбоев): Обернуть блок парсинга полученного JSON в
try-catch. При возникновении исключенияJsonUnsupportedObjectError(если структура ответа повреждена или нарушена её схема), гасить ошибку в фоне, отправлять лог сбоя в Crashlytics и автоматически переключаться на использование встроенного в сборку хардкод-файла локальных ошибок, чтобы полностью предотвратить крэш интерфейса. - Интеграция в State Manager: При успешном чтении JSON-реестра, загрузить полученную карту соответствий (где ключом является
canonical_code) в оперативный стейт-менеджер приложения (ErrorDirectoryStore). - UI Динамический маппинг: Переписать глобальный перехватчик (интерцептор) ошибок пользовательского интерфейса. При получении любой бизнес-ошибки с бэкенда, UI-компонент (диалоговое окно, алерт или сниппет ввода) должен сначала обратиться в локальный
ErrorDirectoryStoreпо коду ошибки, считать оттуда свежийlocalized_text/ui_reactionи динамически отобразить актуальный текст и подсказку, не требуя новой публикации приложения в сторах.
- На Шаге 1 (Логика Холодного старта): Встроить триггер вызова метода